java 您所在的位置:网站首页 sugar in marmalade什么意思 java

java

2024-05-09 18:33| 来源: 网络整理| 查看: 265

我在 Java 8 中经常听到“加糖”和“脱糖”,这些术语是什么意思?它们是概念性的还是句法性的。

一些例子:

Default iterated loop resugaring to java

Observations about syntactic sugar in compilation.

最佳答案

sugar,在编程中,通常是指那些 sweet 添加,主要是快捷方式,使某些结构更易于键入和阅读(后者实际上是,在程序的生命周期中最重要)。

维基百科有一个定义 syntactic sugar但是您应该注意,本质上,并非所有的糖都是语法的(并非所有最近的甜蜜添加都只是编译器的更改)。

这里有几个例子:

后缀和前缀递增运算符(i++ 和 ++i)。他们的唯一目的是避免写额外的声明。它们是纯糖。 +=、|=、&=等都是由同一种糖制成的。 原始类型和对象之间的隐式转换也是糖。 类型推断也是糖。 Java 8 附带的 Lambda 表达式是另一种糖(这个不仅仅是语法)

Java 被广泛认为不够简洁,尤其是与现代语言相比。这就是为什么那些有助于使代码更快阅读的添加受到欢迎的原因。

最后,我只想指出,虽然缺少糖会使您的程序变胖,但过多的糖会导致编写相同内容的多种不同方式,这会使您的语言变得令人不安,并且您的程序不那么连贯和更难维护。另一种糖,API 糖,通常是一种瘟疫,它使 API 更难掌握,尤其是当它由添加(例如重载)组成时。

话虽如此,desugaring 指的是

删除语言中所有多余内容的过程 代码处理器找出含糖语句背后的内容的过程(例如,这可能涉及类型推断)

关于java - Java 8 上下文中的 "sugar"、 "desugar"术语是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22060894/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有